好吧再次忘记我在Rails中的noobiness,但我也没有找到它.虽然我认为这可能是因为它...它不存在?
好的,所以我还在玩RoR,我为员工添加了一个控制器,非常简单,只需要一个名字,clock_no和工资.但是,如果我不想通过ID搜索员工呢?对我而言,用户按时钟编号搜索会更容易,但我不知道它是如何工作的.我假设它与此行有关,更具体地说是set_employee行:
private
# Use callbacks to share common setup or constraints between actions.
def set_employee
@employee = Employee.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def employee_params
params.require(:employee).permit(:name, :clock_no, :wage)
end
Run Code Online (Sandbox Code Playgroud)
但是我可能会离开.
好的,所以我的解决方案最终只是改变模型中的primary_key:
self.primary_key = 'clock_no'
Run Code Online (Sandbox Code Playgroud)
并将返回设置为json:
def show
@employee = Employee.find(params[:id])
respond_to do |format|
format.html
format.json { render json: @employee }
end
end
Run Code Online (Sandbox Code Playgroud)
但是,我不认为这真的是最终所有的解决方案,再次我的高傲可能会显示,但它似乎有点像我.如果您想通过说出名称或其他不是主键并且无法像我的情况那样更改主键的内容进行搜索,我的举动将是什么? 鼻子回到文档
构建一个外出并获取数据的表单,然后使用handlebars.js填充表.如果数据发生变化,第一次运行时效果很好,然后不会再次填充.有关如何使其工作的任何想法?
$('a.button').on("click", function(e){
e.preventDefault();
var date = $('#datepicker').val();
var func = "get_all_swo_by_date";
//$('table.output').empty();
$.ajax({
url: "../includes/db_functions.inc.php",
type: "post",
data: ({ p : date, f : func }),
dataType: "json",
success: function(results) {
var source = $("#entry-template").html();
var template = Handlebars.compile(source);
$('table.output').empty();
if(results.length > 0)
{
$.each(results, function(i, context){
$('table.output').append( template(context) );
});
} else {
$('table.output').append("There is no data to return.");
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
当点击带有一类按钮的"a"时,它会填充表格..(如上所述).现在好了,当你将datepicker更改为另一个日期并单击带有一个按钮类的"a"时,它将不会重新填充该表.
如果有人合理地知道它为什么不起作用,请告诉我.请不要只是弥补一些东西.我可以自己做那么多.. :)