所以我有以下链接,它将参数experience_id传递给experience_skills控制器的新操作。
<%= button_to 'Add Skill', new_experience_skill_path(:experience_id => experience.id),:remote => "true", :class => "btn", :id => "new-experience-skill-btn" %>
这很好 - 即参数[:experience_id]是正确的值!
问题是我需要在experience_skills控制器的创建操作中访问 params[:experience_id],以便某些 javascript 和 ajax 正常运行。
如何在创建操作中访问传递给新操作的参数???
提前感谢您的帮助。当然,如果你给我正确的答案,我会接受它。-亚历克斯
您尝试访问参数[:experience_id]的哪个位置? 在新操作或创建操作中?
在你的表单中,你可以这样做,例如:
<div class="field">
<%= f.hidden_field :experience_id, :value => @instant_obj.id %>
</div>
然后,在您的控制器中以新的操作
@instant_obj = CLASS.find(params[:experience_id])
当然它可以帮助你..
改 性:如果没有记错的话,它只会在 New,让我们从我的场景中说,在消息的新控制器中,它需要advertisement_id即隐藏字段,为了创建消息,它也需要advertisement_id,所以,我会做的
@advertisement = Advertisement.find(params[:advertisement_id])
@message = Message.new(:advertisement_id => @advertisement.id)
然后,当我保存我的消息模型(位于创建操作控制器中)时,它将保存所有详细信息。
如果您在new中使用form,则可以从隐藏字段发送此值。