我有@miniatures
模型和@lines
模型通过@minilines
模型加入。
在@miniature show view
我有这个链接
<%= link_to "Add to product line", new_miniline_path(:miniature_id => @miniature) %>
从隐藏字段中获取New @miniline form
的{{1}}
:miniature_id
然后从下拉列表中选择所需的<%= f.hidden_field :miniature_id, :value => @miniature.id %>
。
这一切都有效。我无法工作的是控制器在创建操作工作后将用户重定向回原始@line
。
这就是我在控制器中的@miniature
和new
操作中所拥有的内容
create
我尝试了def new
@miniline = Miniline.new(@miniature)
@miniature = Miniature.find(params[:miniature_id])
@lines = Line.all
end
def create
@miniline = Miniline.new(miniline_params)
if @miniline.save
flash[:success] = "Miniature added to product line"
redirect_to miniature_path(@miniature)
else
flash[:success] = "Did not work!!!"
render 'new'
end
end
的各种替代方案,例如普通miniature_path(@miniature)
和@miniature
,但无济于事。我怀疑我的问题是将miniature_path(:miniature_id)
传递给:miniature_id
模型。任何帮助都非常感激,因为我已经敲了一两个小时。
答案 0 :(得分:1)
redirect_to miniature_path(@miniline.miniature)
假设你有一个关联设置。
你没有在create中设置@miniature,这是不起作用的
您也可以
redirect_to @miniline.miniature